紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)的外置數(shù)據(jù)處理模型實(shí)現(xiàn)方案
紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)有良好的擴(kuò)展性,利用各種接口能夠?qū)崿F(xiàn)多種數(shù)據(jù)處理功能,這里以鋼坯的物料跟蹤模型為例,介紹基于紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)的外置模型設(shè)計(jì)方案。
方案一:利用紫金橋自定義點(diǎn)類型 調(diào)用紫金橋API
首先不管使用哪種方案都用到了紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)的“點(diǎn)”,這里先介紹下“點(diǎn)”的概念。
“點(diǎn)”的概念
紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)中的點(diǎn)是一個(gè)邏輯組合,包含很多參數(shù),每一個(gè)參數(shù)描述該點(diǎn)的一個(gè)屬性。舉例說(shuō)一下,比如關(guān)系數(shù)據(jù)庫(kù),其中有很多表,每一種表中會(huì)有若干字段,各字段會(huì)描述一種屬性,這里的每一種表都可以看作為紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)中的一種點(diǎn)類型,每一個(gè)字段可以看作為點(diǎn)類型的一種參數(shù),而實(shí)際的每條記錄就可以看作為用戶定義的一個(gè)實(shí)際的點(diǎn)。
比如關(guān)系數(shù)據(jù)庫(kù)中有一種表,是一個(gè)物理量的信息表,其中包含物理量的名稱、測(cè)量值、報(bào)警高限、最小量程、最大量程等字段(當(dāng)然關(guān)系數(shù)據(jù)庫(kù)中一般少有這種表結(jié)構(gòu)),并存有“壓力、1.2Mpa、2Mpa、0MPa、3Mpa”這么一條記錄,那么對(duì)應(yīng)到紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)中就是一種叫做“模擬I/O點(diǎn)”的點(diǎn)類型,該點(diǎn)類型具有DESC(點(diǎn)說(shuō)明)、PV(測(cè)量值)、HI(報(bào)警高限)、EULO(最小量程)、EUHI(最大量程)等參數(shù),并且用戶實(shí)際定義壓力點(diǎn)P,即P.DESC=“壓力”、P.PV=1.2(一般要連接實(shí)際設(shè)備,顯示現(xiàn)場(chǎng)實(shí)際值)、P.HI=2、P.EULO=0、P.EUHI=3。
換個(gè)角度,其實(shí)紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)中的每一種點(diǎn)類型相當(dāng)于C 中的一個(gè)類或者一個(gè)結(jié)構(gòu)體,每一種點(diǎn)參數(shù)相當(dāng)于C 中類或結(jié)構(gòu)體的成員變量,而每一個(gè)實(shí)際定義的點(diǎn)就相當(dāng)于C 中該類或結(jié)構(gòu)的一個(gè)實(shí)際對(duì)象。
通過(guò)以上可以看出,紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)是面向?qū)ο蟮?,點(diǎn)是數(shù)據(jù)庫(kù)處理數(shù)據(jù)的邏輯單元。利用紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)中的點(diǎn)可以很方便的完成對(duì)物理量模型的管理。這里對(duì)于我們的鋼坯模型,就可以通過(guò)“點(diǎn)”的方式進(jìn)行管理。這里就要用到紫金橋自定義點(diǎn)類型。
紫金橋自定義點(diǎn)類型的方式
由于紫金橋?qū)崟r(shí)數(shù)據(jù)庫(kù)中沒(méi)有針對(duì)“鋼坯”的點(diǎn)類型,我們需要通過(guò)自定義點(diǎn)的方式添加一個(gè)“鋼坯點(diǎn)”,這個(gè)點(diǎn)要包含鋼坯的各個(gè)參數(shù)。
紫金橋自定義點(diǎn)的方式有兩種,一種是在實(shí)時(shí)數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng)中直接添加,無(wú)須編寫程序;另一種是利用紫金橋數(shù)據(jù)庫(kù)點(diǎn)開(kāi)發(fā)包,通過(guò)編成的方式添加點(diǎn)類型。這兩種方式互有優(yōu)缺,前者比較簡(jiǎn)單,但靈活性稍差些;后者較為麻煩,但夠靈活,可以根據(jù)具體情況選擇。
調(diào)用紫金橋API
外部程序可以通過(guò)調(diào)用紫金橋API來(lái)修改實(shí)時(shí)數(shù)據(jù)庫(kù)中的點(diǎn),這里要注意點(diǎn)名及參數(shù)名必須一致。比如利用API接口中的SetDataByName(CStringList& list, CStringList& datList),就可以批量的修改點(diǎn)參數(shù)。
畫面顯示
利用紫金橋開(kāi)發(fā)系統(tǒng)中的“動(dòng)畫連接”,將各點(diǎn)參數(shù)與對(duì)應(yīng)的圖元相關(guān)聯(lián),這樣就可以完成外部程序?qū)D形動(dòng)畫的控制。
結(jié)構(gòu)框圖
系統(tǒng)的結(jié)構(gòu)框圖如下:
外部程序通過(guò)調(diào)用API完成對(duì)“鋼坯點(diǎn)”的控制,每一個(gè)“鋼坯點(diǎn)”對(duì)應(yīng)一個(gè)鋼坯對(duì)象,并在人機(jī)界面(或遠(yuǎn)程客戶端)以圖形的方式顯示。
方案二:利用自定義點(diǎn)類型
這里說(shuō)的自定義點(diǎn)類型方式是指利用紫金橋點(diǎn)開(kāi)發(fā)包自行開(kāi)發(fā)。點(diǎn)開(kāi)發(fā)包中不僅可以添加一些點(diǎn)參數(shù)形成新的數(shù)據(jù)庫(kù)點(diǎn)類型,還可以完成對(duì)該點(diǎn)類型的數(shù)據(jù)處理。利用這種方法,可以將外部進(jìn)程的數(shù)據(jù)處理等工作,直接嵌入到點(diǎn)類型中,能夠處理鋼坯的各參數(shù)信息,在內(nèi)部完成參數(shù)的讀寫控制。
結(jié)構(gòu)框圖
這樣對(duì)“鋼坯”控制更加有效,并邏輯清晰,每一個(gè)“鋼坯點(diǎn)”為最小的控制單元,并且所有操作均在實(shí)時(shí)數(shù)據(jù)庫(kù)內(nèi)部完成,系統(tǒng)更有效率。如果,每一個(gè)鋼坯之間還有關(guān)聯(lián),或者受其他復(fù)雜條件控制的話,還可以添加“鋼坯管理點(diǎn)”來(lái)實(shí)現(xiàn)對(duì)鋼坯的管理控制。
兩種方案優(yōu)缺點(diǎn)對(duì)比
注意:優(yōu)缺點(diǎn)對(duì)比是相對(duì)的,并不是說(shuō)某種方案在該性能上做得不好,只是相對(duì)而言。

提交
紫金橋跨平臺(tái)實(shí)時(shí)數(shù)據(jù)庫(kù)發(fā)布會(huì)及入門培訓(xùn)視頻回放
紫金橋跨平臺(tái)實(shí)時(shí)數(shù)據(jù)庫(kù)入門培訓(xùn)即將開(kāi)始啦
紫金橋跨平臺(tái)實(shí)時(shí)數(shù)據(jù)庫(kù)RealHistorian
紫金橋跨平臺(tái)實(shí)時(shí)數(shù)據(jù)庫(kù)新品發(fā)布會(huì)
跨平臺(tái)實(shí)時(shí)數(shù)據(jù)庫(kù)如何實(shí)現(xiàn)表格的保存和讀取